#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# Created by box on 2018/3/7.

URL_BAIDU_INDEX = 'https://tieba.baidu.com/'
URL_BAIDU_TOKEN = 'https://passport.baidu.com/v2/api/?getapi'
URL_BAIDU_PUBLICKEY = 'https://passport.baidu.com/v2/getpublickey'
URL_BAIDU_LOGIN = 'https://passport.baidu.com/v2/api/?login'
URL_BAIDU_MONITOR_CAPTCHA = 'https://passport.baidu.com/v2/api/?logincheck'
URL_BAIDU_GET_CAPTCHA = 'https://passport.baidu.com/cgi-bin/genimage?'
URL_ONEKEY_SIGNIN = 'https://tieba.baidu.com/tbmall/onekeySignin1'
URL_SINGLE_SIGNIN = 'https://tieba.baidu.com/sign/add'

DEFAULT_KW = '百度'
MAX_TITLE = 30
MAX_CONTENT = 15000
MAX_REPLY = 5000
COOKIES_FILE_NAME = r'caches/cookies.cvs'
ACCOUNT_FILE_NAME = r'caches/account.cvs'

HEADERS = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Encoding': 'gzip,deflate,sdch',
    # 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) '
    #               'Chrome/65.0.3325.146 Safari/537.36',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept-Language': 'h-CN,zh;q=0.8,en;q=0.6',
    'Connection': 'keep-alive'
}

LOGIN_ERR_MSGS = {
    '1': '用户名格式错误，请重新输入',
    '2': '用户不存在',
    '3': '',
    '4': '登录密码错误，请重新输入',
    '5': '今日登录次数过多',
    '6': '验证码不匹配，请重新输入验证码',
    '7': '登录时发生未知错误，请重新输入',
    '8': '登录时发生未知错误，请重新输入',
    '16': '对不起，您现在无法登录',
    '51': '该手机号未通过验证',
    '52': '该手机已经绑定多个用户',
    '53': '手机号码格式不正确',
    '58': '手机号格式错误，请重新输入',
    '256': '',
    '257': '请输入验证码',
    '20': '此账号已登录人数过多',
    'default': '登录时发生未知错误，请重新输入'
}

POST_ERR_MSGS = {
    220001: '参数错误',
    220008: '先发后审',
    220009: '',
    220011: '贴子标题和内容太长',
    220012: '由于你违反了贴吧规定，已被管理员禁止发言',
    220013: '操作失败，您的网络地址由于非法操作被封',
    220015: '请不要发表含有不适当内容的留言，请不要发表广告贴',
    220034: '您说话太快了:) 请先停下来喝杯茶吧，或者可以去别的吧看看哦，一定会发现还有您感兴趣的话题',
    220035: '亲，已@不少人了，以免打搅更多人，歇一会吧~',
    220037: '您已尝试提交多次了，请返回后刷新页面，方可重新发贴',
    220038: '验证码超时，请重新输入',
    220040: '验证码输入错误，请您返回后重新输入',
    220119: '对不起，本主题的回复数已经达到上限，感谢您的参与，欢迎您浏览本吧的其它主题',
    220901: '',
    224009: '贴子已被锁定，无法进行该操作',
    224010: '您的账号存在安全风险暂不能发贴，请先进行手机绑定后再发贴吧。',
    230004: '您未登录或已退出登录状态，请先登录再进行操作。',
    230008: '您的内容已提交成功，正在进行审核，请耐心等待。',
    230013: '操作失败，您的帐号因违规操作而被封禁',
    230020: '您发表的贴子的标题或正文包含太少的文字，请修改后再发表',
    230044: '建吧失败，请重新尝试',
    230045: '抱歉，您提交的贴吧名称含特殊字符，目前无法创建，推荐您使用汉字、字母或数字作为贴吧名称',
    230046: '抱歉，您的贴子过长，无法正常提交。建议您精简或分段后重新提交，谢谢!',
    230265: '您未登录或已退出登录状态，请先登录再进行操作。',
    230273: '操作失败，该帖子已不存在',
    230277: '您已被楼主禁言一天。在此期间内，不可回复或@楼主。',
    230278: '您已被楼主禁言一天。在此期间内，不可回复或@楼主。',
    230308: '抱歉，您没有权限进行该项操作。',
    230705: '本吧当前只能浏览，不能发贴！',
    230808: '抱歉，每层楼插入的视频不能超过1个，请修改后重新提交',
    230809: '抱歉，每层楼插入的图片不能超过10张，请修改后重新提交',
    230814: '抱歉，每层楼插入的表情不能超过10张，请修改后重新提交',
    230815: '抱歉，每层楼插入的音乐不能超过10个，请修改后重新提交',
    230850: '吧名已存在，请勿重复创建',
    230870: '本帖子回复较多，不支持删除',
    230871: '发贴太频繁，停下来喝杯茶休息下吧',
    230887: '发表失败了，请重新尝试',
    230889: '您已被加入小黑屋，无法进行该操作。',
    230900: '为抵御挖坟危害，本吧吧主已放出贴吧神兽--超级静止蛙，本贴暂时无法回复。',
    230901: '该楼回复已达上限，请到别的楼层参与互动吧',
    230902: '您输入的内容过长，请修改后重新提交。',
    230903: '您输入的内容不合法，请修改后重新提交。',
    230961: '发贴失败，您输入的图片地址有错误，请检查更正后再次发布：）',
    230962: '您输入的内容不合法，请修改后重新提交。',
    230963: '您输入的内容不合法，请修改后重新提交。',
    231120: '抱歉，您输入的图片、视频链接地址错误，您可以点击查看相关帮助或返回修改',
    232e3: '您输入的内容不合法，请修改后重新提交。',
    232001: '您输入的内容不合法，请修改后重新提交。',
    232007: '您输入的内容不合法，请修改后重新提交。',
    232101: '您输入的内容不合法，请修改后重新提交。',
    233001: '发表失败了，请重新再试。',
    233003: '发表失败了，请重新再试。',
    233004: '发表失败了，请重新再试。',
    233005: '发表失败了，请重新再试。',
    233006: '发表失败了，请重新再试。',
    233007: '发表失败了，请重新再试。',
    233010: '本吧仅允许官方粉丝团成员回复哦，赶快加入吧！',
    220903: '线路升级改造，暂时无法发贴，请耐心等待，给您带来不便表示抱歉~',
    234031: '上传文件失败，请重新上传。',
    235004: '使用道具错误，该道具要购买后才能使用。',
    235005: '无权限使用该道具，请去购买。',
    236001: '该贴为贴吧手机App直播贴，目前暂时不支持非楼主之外的用户占楼，但你可以在楼中楼回复哦！',
    239e3: '您还没有用户名，不能在本吧发贴。请先填写用户名。',
    239001: '由于匿名状态或本吧设置，无法发表带有图片的主题。',
    2270028: '附加奖品的额度不能少于10000T豆',
    2270029: '主题发送成功，奖励添加失败',
    2270018: '抱歉，您没有权限发奖励贴',
    2270027: '感言请控制在140个字之内',
    10: '贴子内容包含太少的文字',
    11: '贴子标题和内容太长',
    12: '由于你违反了贴吧规定，已被管理员禁止发言',
    13: '操作失败，您的网络地址由于非法操作被封',
    14: '您发布的贴子已经存在',
    15: '请不要发表含有不适当内容的留言，请不要发表广告贴',
    501: '请不要发表含有不适当内容的留言，请不要发表广告贴',
    16: '对不起，您所输入的贴吧不存在。由于系统升级维护，新建贴吧功能暂停，希望得到您的谅解！',
    17: '本吧当前只能浏览，不能发贴！',
    19: '您的用户名或者密码填写有误，请确认后再发表',
    200: '您的用户名或者密码填写有误，请确认后再发表',
    201: '您的用户名或者密码填写有误，请确认后再发表',
    202: '您的用户名或者密码填写有误，请确认后再发表',
    20: '您发表的贴子的标题或正文包含太少的文字，请修改后再发表',
    22: '您发表的贴子已经成功提交，由于特殊原因我们需要核实该贴内容是否含有不良信息，我们会在10分钟内确认，请您耐心等待！',
    23: '您的贴子已经成功提交，但需要系统审核通过后才能建立贴吧',
    33: '您发贴太快了:) 请稍后再发',
    34: '您说话太快了:) 请先停下来喝杯茶吧，或者可以去别的吧看看哦，一定会发现还有您感兴趣的话题',
    35: '亲，已@不少人了，以免打搅更多人，歇一会吧~',
    36: '请不要发广告贴！',
    37: '您已尝试提交多次了，请返回后刷新页面，方可重新发贴',
    38: '验证码超时，请重新输入',
    39: '由于您多次输错验证码，请您返回后刷新页面，方可重新发贴',
    40: '验证码输入错误，请您返回后重新输入',
    41: '您的贴子可能包含不合适的内容，请您确定后再提交',
    42: '您的发贴行为被系统认为有发广告嫌疑，请您稍后再发',
    43: '您的发贴行为或贴子内容有广告或不合适的特征，请您确定后再发送',
    44: '对不起，本吧暂时限制部分用户发表主题贴子，您可以浏览或回复本吧其它内容，给您带来不便希望得到您的谅解。',
    119: '对不起，本主题的回复数已经达到上限，感谢您的参与，欢迎您浏览本吧的其它主题',
    1120: '抱歉，您输入的图片、视频链接地址错误，您可以点击查看相关帮助或返回修改',
    1121: '抱歉，视频服务升级中，您暂时无法发表带有视频的贴子，给您带来的不便请原谅',
    100: '对不起，本吧暂时限制部分用户使用完整的贴吧功能，您可以浏览本吧其它内容，给您带来不便希望得到您的谅解。',
    701: '为了减少恶意灌水和广告帖，本吧不允许未登录用户发贴，登录用户不受影响，给您带来的不便深表歉意',
    702: '为了减少恶意灌水和广告帖，本吧限制部分用户发贴，给您带来的不便深表歉意',
    703: '为了减少恶意灌水和广告帖，本吧被设置为仅本吧会员才能发贴，给您带来的不便深表歉意。点此申请加入本吧会员',
    704: '为了减少恶意灌水和广告帖，本吧被设置为仅本吧管理团队才能发贴，给您带来的不便深表歉意',
    705: '本吧当前只能浏览，不能发贴！',
    706: '抱歉，本贴暂时无法回复。',
    45: '抱歉，您提交的贴吧名称含特殊字符，目前无法创建，推荐您使用汉字、字母或数字作为贴吧名称',
    46: '抱歉，您的贴子过长，无法正常提交。建议您精简或分段后重新提交，谢谢!',
    815: '抱歉，您已退出登录或未购买音乐道具，请刷新页面重试',
    900: '为抵御挖坟危害，本吧吧主已放出贴吧神兽--超级静止蛙，本贴暂时无法回复。',
    961: '发贴失败，您输入的图片地址有错误，请检查更正后再次发布：）',
    9001: '由于匿名状态或本吧设置，无法发表带有图片的主题。',
    2100: '内容含有高级字体效果，保持连续签到就能使用哦~~',
    4010: '您的账号存在安全风险暂不能发贴，请先进行手机绑定后再发贴吧。',
    9e3: '您还没有用户名，不能在本吧发贴。请先填写用户名。',
    402011: '图片宽度超出限制',
    402012: '图片高度超出限制',
    402013: '图片标签无效',
    220900: '禁止挖坟'
}

AUDIT_ERR_MSGS = {
    '-61': '您的贴子已经成功提交，但为了保证贴子质量，本吧所发的贴子待系统审核通过后才能显示，请您耐心等待',
    '-62': '您的贴子已经成功提交，但为了保证贴子质量，本吧贴图的贴子需要审核通过后才能显示，请您耐心等待',
    '-74': '您发表的贴子已经成功提交，但系统需要核实该贴子内容是否含有不良信息，贴子在审核通过后才能显示，请您耐心等待',
    '-75': '您发表的贴子已经成功提交，但系统需要核实该贴子内容是否含有不良信息，贴子在审核通过后才能显示，请您耐心等待',
    '-60': '您发表的贴子已经成功提交，但系统需要核实该贴子内容是否含有不良信息，贴子在审核通过后才能显示，请您耐心等待',
    '-70': '您的贴子已经成功提交，但为了控制广告贴，需要通过审核后才能发布。登陆署名发贴不受此限制。',
    '-71': '您发表的帖子太长了。为了防止灌水，需系统审核后才能显示，请稍后查看',
    'default': '您发表的贴子已经成功提交，但系统需要核实该贴子内容是否含有不良信息，贴子在审核通过后才能显示，请您耐心等待'
}


def get_login_err_msg(errno, default_msg):
    no = str(errno)
    return '登录失败：', LOGIN_ERR_MSGS[no] if no in LOGIN_ERR_MSGS else default_msg


def get_post_err_msg(no, err_code, default_msg):
    no = int(no)
    err_code = int(err_code)
    return POST_ERR_MSGS[no] if no in POST_ERR_MSGS else (
        POST_ERR_MSGS[err_code] if err_code in POST_ERR_MSGS else default_msg)


def get_audit_err_msg(err_code, default_msg):
    err_code = str(err_code)
    return AUDIT_ERR_MSGS[err_code] if err_code in AUDIT_ERR_MSGS else default_msg
